﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DTO;
using DAO;
using BUS;

namespace GUI
{
    public partial class Mượnsách : UserControl
    {
        public Mượnsách()
        {
            InitializeComponent();
        }
        DataTable dt = new DataTable();
        DataTable mvc = new DataTable();
        private int flag = 0;
        private int dem = 0;

        private void Mượnsách_Load(object sender, EventArgs e)
        {
            txtCTPM.Enabled = false;
            btnthem.Enabled = false;
            hienthi();
        }
        void hienthi()
        {
            txtmapm.Enabled = false;
           
            cbotinhtrang.Items.Add("Mượn");

            dt = DataProvider.GetDataTable("Docgia", DataProvider.ketnoi());
            Cbomadocgia.DisplayMember = "MaDG";
            Cbomadocgia.ValueMember = "MaDG";
            Cbomadocgia.DataSource = dt;

            dt = DataProvider.GetDataTable("Phieumuon", DataProvider.ketnoi());
            Loadphieumuon(dt, lvwPM);

           
            txtmapm.Text = MuonsachDAO.laymapm().ToString();


            cbotensach.DisplayMember = "TenSach";
            cbotensach.ValueMember = "MaSach";
            cbotensach.DataSource = DataProvider.GetDataTable("Sach", DataProvider.ketnoi());

            dt = DataProvider.GetDataTable("CTPM", DataProvider.ketnoi());
            LoadCTPM(dt,lvwCTPM);

        }

        #region hienthiphieumuon
        void Loadphieumuon(DataTable da, ListView ls)
        {
            lvwPM.Items.Clear();
            int istt = 0;
            foreach (DataRow dr in da.Rows)
            {
                istt++;
                ListViewItem lvw = new ListViewItem();
                lvw.Text = istt.ToString();
                lvw.SubItems.Add(dr["Mapm"].ToString());
                lvw.SubItems.Add(dr["MaDG"].ToString());
                lvw.SubItems.Add(dr["Ngaymuon"].ToString());

                lvw.SubItems.Add(dr["Ngayhentra"].ToString());
                lvw.SubItems.Add(dr["Tinhtrang"].ToString());
                lvw.ImageIndex = 0;
                lvwPM.Items.Add(lvw);
            }
        }
        #endregion

        private void lvwPM_SelectedIndexChanged(object sender, EventArgs e)
        {
            flag = 1;
            if (lvwPM.SelectedItems.Count > 0)
            {

                ListViewItem lv = lvwPM.SelectedItems[lvwPM.SelectedItems.Count - 1];
                if (lv != null)
                {

                    foreach (ListViewItem lvw in lvwPM.SelectedItems)
                    {
                        txtmapm.Text = lvw.SubItems[1].Text;

                        Cbomadocgia.Text = lvw.SubItems[2].Text;
                        data1.Text = lvw.SubItems[3].Text;
                        data2.Text = lvw.SubItems[4].Text;
                        cbotinhtrang.Text = lvw.SubItems[5].Text;

                    }
                }
            }
        }

        private void btnmuon_Click(object sender, EventArgs e)
        {
            btnthem.Enabled = true;
            DialogResult d = MessageBox.Show("Bạn có chắc là muốn mượn sách này ko ?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
            if (d == DialogResult.Yes)
            {
                MuonsachDTO dto = new MuonsachDTO();

                dto.MaDG = Cbomadocgia.Text;

                dto.Ngaymuon = Convert.ToDateTime(data1.Value);
                dto.Ngayhentra = Convert.ToDateTime(data2.Value);

                dto.Tinhtrang = cbotinhtrang.Text;
                if (MuonsachBUS.thempm(dto) == true)
                {
                    MessageBox.Show("Mượn sách thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    
                    btnmuon.Enabled = false;
                    
                    int a = Convert.ToInt32(txtmapm.Text);

                    txtCTPM.Text = a.ToString();
                    hienthi();
                }
                
            }
        }

        private void btnthem_Click(object sender, EventArgs e)
        {
            flag = 2;
            if (dem == 3)
            {
                MessageBox.Show("Muon toi da chi 3 quyen", "Thong bao");
                btnthem.Enabled = false;
                btnmuon.Enabled = true;
                groupBox4.Visible = false;
                groupBox3.Visible = true;
                hienthi();



            }
            else
            {
                DialogResult d = MessageBox.Show("Bạn có chắc là muốn thêm sách mới ko ?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                if (d == DialogResult.Yes)
                {
                    groupBox4.Visible = true;
                    groupBox3.Visible = false;
                    MuonsachDTO dto = new MuonsachDTO();
                    dto.MaPM = Convert.ToInt32(txtCTPM.Text);
                    dto.MaSach = Convert.ToInt32(txtmasach.Text);
                    dto.TenSach = cbotensach.Text;
                    dto.Soluong = Convert.ToInt32(txtsoluongmuon.Text);
                    if (MuonsachBUS.themCTPM(dto) == true)
                    {
                        MessageBox.Show("Thêm sách thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        btnmuon.Enabled = false;
                        dem++;
                        hienthi();
                        
                    }
                }
            }

        }

        private void btnthoat_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void lvwCTPM_SelectedIndexChanged(object sender, EventArgs e)
        {

            flag = 2;
            if (lvwCTPM.SelectedItems.Count > 0)
            {
                ListViewItem lv = lvwCTPM.SelectedItems[lvwCTPM.SelectedItems.Count - 1];
                if (lv != null)
                {
                    foreach (ListViewItem lvw in lvwCTPM.SelectedItems)
                    {
                        txtCTPM.Text = lvw.SubItems[1].Text;
                        txtmasach.Text = lvw.SubItems[2].Text;
                        cbotensach.Text = lvw.SubItems[3].Text;
                        txtsoluongmuon.Text = lvw.SubItems[4].Text;
                    }
                }
            }
        }

        void LoadCTPM(DataTable da, ListView lv)
        {
            lvwCTPM.Items.Clear();
            int istt = 0;
            foreach (DataRow dr in da.Rows)
            {
                istt++;
                ListViewItem lvw = new ListViewItem();
                lvw.Text = istt.ToString();
                lvw.SubItems.Add(dr["MaPM"].ToString());
                lvw.SubItems.Add(dr["MaSach"].ToString());
                lvw.SubItems.Add(dr["TenSach"].ToString());
                lvw.SubItems.Add(dr["Soluong"].ToString());
                lvw.ImageIndex = 0;
                lvwCTPM.Items.Add(lvw);
            }
        }

        private void cbotensach_SelectedIndexChanged(object sender, EventArgs e)
        {
            int masach;
            masach = Convert.ToInt32(cbotensach.SelectedValue);
            dt = DataProvider.laythongtinsach(masach,DataProvider.ketnoi());
            DataRow dr;
            dr = dt.Rows[0];
            txtmasach.Text = dr["MaSach"].ToString();
        }

        private void btnupdate_Click(object sender, EventArgs e)
        {
            if (flag == 1)
            {
                Cbomadocgia.Focus();
                lvwPM.Enabled = false;
                btnupdate.Enabled = false;
            }
            if (flag == 2)
            {
                cbotensach.Focus();
                lvwCTPM.Enabled = false;
                btnupdate.Enabled = false;
            }
        }

        private void btnluu_Click(object sender, EventArgs e)
        {

            if (flag == 1)
            {
                DialogResult d = MessageBox.Show("Bạn có chắc là muốn update  ko ?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                if (d == DialogResult.Yes)
                {
                    MuonsachDTO dto = new MuonsachDTO();
                    dto.Mapm = Convert.ToInt32(txtmapm.Text);
                    dto.MaDG = Cbomadocgia.Text;
                    dto.Ngaymuon = Convert.ToDateTime(data1.Value);
                    dto.Ngayhentra = Convert.ToDateTime(data2.Value);
                    dto.Tinhtrang=cbotinhtrang.Text;
                    if(MuonsachBUS.updatePM(dto)==true)
                    {
                    MessageBox.Show("Lưu thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    lvwPM.Enabled = true;
                    btnupdate.Enabled = true;
                    hienthi();
                    }

                }
            }
            if (flag == 2)
            {
                DialogResult d = MessageBox.Show("Bạn có chắc là muốn update  ko ?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                if (d == DialogResult.Yes)
                {
                    try
                    {
                        
                        MessageBox.Show("Lưu thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        lvwCTPM.Enabled = true;
                        btnupdate.Enabled = true;
                        hienthi();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }

                }

            }
        }


    }
}
